﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;

namespace Zahlenschrift
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        #region Strings und Definitionen 


        string text;
        bool a; // z
        bool b; // y
        bool c; // x
        bool d; // w
        bool ee; // v
        bool f; // u
        bool g; // t
        bool h; // s
        bool i; // r
        bool j; // q
        bool k; // p
        bool l; // o
        bool m; // n
        bool n; // m 
        bool o; // l
        bool p; // k
        bool q; // j
        bool r; // i
        bool s; // h
        bool t; // g
        bool u; // f
        bool v; // e
        bool w; // d
        bool x; // c
        bool y; // b
        bool z; // a
         

        #endregion


        #region Check
        public void check()
        {
            if (textBox1.Text.Contains("a"))
            {
                a = true;
            }
            if (textBox1.Text.Contains("b"))
            {
                b = true;
            }
            if (textBox1.Text.Contains("c"))
            {
                c = true;
            }
            if (textBox1.Text.Contains("d"))
            {
                d = true;
            }
            if (textBox1.Text.Contains("e"))
            {
                ee = true;
            }
            if (textBox1.Text.Contains("f"))
            {
                f = true;
            }
            if (textBox1.Text.Contains("g"))
            {
                g = true;
            }
            if (textBox1.Text.Contains("h"))
            {
                h = true;
            }
            if (textBox1.Text.Contains("i"))
            {
                i = true;
            }
            if (textBox1.Text.Contains("j"))
            {
                j = true;
            }
            if (textBox1.Text.Contains("k"))
            {
                k = true;
            }
            if (textBox1.Text.Contains("l"))
            {
                l = true;
            }
            if (textBox1.Text.Contains("m"))
            {
                m = true;
            }
            if (textBox1.Text.Contains("n"))
            {
                n = true;
            }
            if (textBox1.Text.Contains("o"))
            {
                o = true;
            }
            if (textBox1.Text.Contains("p"))
            {
                p = true;
            }
            if (textBox1.Text.Contains("q"))
            {
                q = true;
            }
            if (textBox1.Text.Contains("r"))
            {
                r = true;
            }
            if (textBox1.Text.Contains("s"))
            {
                s = true;
            }
            if (textBox1.Text.Contains("t"))
            {
                t = true;
            }
            if (textBox1.Text.Contains("u"))
            {
                u = true;
            }
            if (textBox1.Text.Contains("v"))
            {
                v = true;
            }
            if (textBox1.Text.Contains("w"))
            {
                w = true;
            }
            if (textBox1.Text.Contains("x"))
            {
                x = true;
            }
            if (textBox1.Text.Contains("y"))
            {
                y = true;
            }
            if (textBox1.Text.Contains("z"))
            {
                z = true;
            }



        }

        #endregion





        private void button1_Click(object sender, EventArgs e)
        {
            check();
            text = textBox1.Text;
            #region char arrays
            char[] charsa = text.ToCharArray();
            char[] charsb = text.ToCharArray();
            char[] charsc = text.ToCharArray();
            char[] charsd = text.ToCharArray();
            char[] charse = text.ToCharArray();
            char[] charsf = text.ToCharArray();
            char[] charsg = text.ToCharArray();
            char[] charsh = text.ToCharArray();
            char[] charsi = text.ToCharArray();
            char[] charsj = text.ToCharArray();
            char[] charsk = text.ToCharArray();
            char[] charsl = text.ToCharArray();
            char[] charsm = text.ToCharArray();
            char[] charsn = text.ToCharArray();
            char[] charso = text.ToCharArray();
            char[] charsp = text.ToCharArray();
            char[] charsq = text.ToCharArray();
            char[] charsr = text.ToCharArray();
            char[] charss = text.ToCharArray();
            char[] charst = text.ToCharArray();
            char[] charsu = text.ToCharArray();
            char[] charsv = text.ToCharArray();
            char[] charsw = text.ToCharArray();
            char[] charsx = text.ToCharArray();
            char[] charsy = text.ToCharArray();
            char[] charsz = text.ToCharArray();
            #endregion
            #region Indexe
            int aindex = text.IndexOf("a");
            int bindex = text.IndexOf("b");
            int cindex = text.IndexOf("c");
            int dindex = text.IndexOf("d");
            int eindex = text.IndexOf("e");
            int findex = text.IndexOf("f");
            int gindex = text.IndexOf("g");
            int hindex = text.IndexOf("h");
            int iindex = text.IndexOf("i");
            int jindex = text.IndexOf("j");
            int kindex = text.IndexOf("k");
            int lindex = text.IndexOf("l");
            int mindex = text.IndexOf("m");
            int nindex = text.IndexOf("n");
            int oindex = text.IndexOf("o");
            int pindex = text.IndexOf("p");
            int qindex = text.IndexOf("q");
            int rindex = text.IndexOf("r");
            int sindex = text.IndexOf("s");
            int tindex = text.IndexOf("t");
            int uindex = text.IndexOf("u");
            int vindex = text.IndexOf("v");
            int windex = text.IndexOf("w");
            int xindex = text.IndexOf("x");
            int yindex = text.IndexOf("y");
            int zindex = text.IndexOf("z");
            #endregion
            #region Crypton
            if (a == true)
            {
                if (aindex != 1)
                {
                    charsa[aindex] = 'z';
                }
            }
            if (b == true)
            {
                if (bindex != 1)
                {
                    charsb[bindex] = 'y';
                }
            }
            if (c == true)
            {
                if (cindex != 1)
                {
                    charsc[cindex] = 'x';
                }
            }
            if (d == true)
            {
                if (dindex != 1)
                {
                    charsd[dindex] = 'w';
                }
            }
            if (ee == true)
            { 
                if (eindex != 1)
                {
                    charse[eindex] = 'v';
                }
            }
            if (f == true)
            {
                if (f == true)
                {
                    if (findex != 1)
                    {
                        charsf[findex] = 'u';
                    }
                }
            }
            if (g == true)
            {
                if (gindex != 1)
                {
                    charsg[gindex] = 't';
                }
            }
            if (h == true)
            {
                if (hindex != 1)
                {
                    charsh[hindex] = 's';
                }
            }
            if (i == true)
            {
                if (iindex != 1)
                {
                    charsi[iindex] = 'r';
                }
            }
            if (j == true)
            {
                if (jindex != 1)
                {
                    charsj[jindex] = 'q';
                }
            }
            if (k == true)
            {
                if (kindex != 1)
                {
                    charsk[kindex] = 'p';
                }
            }
            if (l == true)
            {

                if (lindex != 1)
                {
                    charsl[lindex] = 'o';
                }
            }
            if (m == true)
            {

                if (mindex != 1)
                {
                    charsm[mindex] = 'n';
                }
            }
            if (n == true)
            {

                if (nindex != 1)
                {
                    charsn[nindex] = 'm';
                }
            }

            if (o == true)
            {

                if (oindex != 1)
                {
                    charso[oindex] = 'l';
                }
            }
            if (p == true)
            {

                if (pindex != 1)
                {
                    charsp[pindex] = 'k';
                }
            }
            if (q == true)
            {

                if (qindex != 1)
                {
                    charsq[qindex] = 'j';
                }
            }
            if (r == true)
            {

                if (rindex != 1)
                {
                    charsr[rindex] = 'i';
                }
            }
            if (s == true)
            {
                if (sindex != 1)
                {
                    charss[sindex] = 'h';
                }
            }
            if (t == true)
            {

                if (tindex != 1)
                {
                    charst[tindex] = 'g';
                }
            }
            if (u == true)
            {
                if (uindex != 1)
                {
                    charsu[uindex] = 'f';
                }
            }
            if (v == true)
            {
                if (vindex != 1)
                {
                    charsv[vindex] = 'e';
                }
            }
            if (w == true)
            {

                if (windex != 1)
                {
                    charsw[windex] = 'd';
                }
            }
            if (x == true)
            {
                if (xindex != 1)
                {
                    charsx[xindex] = 'c';
                }
            }
            if (y == true)
            {
                if (yindex != 1)
                {
                    charsy[yindex] = 'b';
                }
            }
            if (z == true)
            {
                if (zindex != 1)
                {
                    charsz[zindex] = 'a';
                }
            }


            #endregion

            #region chars to string
            string texta = new string(charsa);
            string textb = new string(charsb);
            string textc = new string(charsc);
            string textd = new string(charsd);
            string texte = new string(charse);
            string textf = new string(charsf);
            string textg = new string(charsg);
            string texth = new string(charsh);
            string texti = new string(charsi);
            string textj = new string(charsj);
            string textk = new string(charsk);
            string textl = new string(charsl);
            string textm = new string(charsm);
            string textn = new string(charsn);
            string texto = new string(charso);
            string textp = new string(charsp);
            string textq = new string(charsq);
            string textr = new string(charsr);
            string texts = new string(charss);
            string textt = new string(charst);
            string textu = new string(charsu);
            string textv = new string(charsv);
            string textw = new string(charsw);
            string textx = new string(charsx);
            string texty = new string(charsy);
            string textz = new string(charsz);

            #endregion
            textBox2.Text = texta + textb + textc + textd + texte + textf + textg + texth + texti + textj + textk + textl + textm + textn + texto + textp + textq + textr + texts + textt + textu + textv + textw + textx + texty + textz;
        }

        private void button3_Click(object sender, EventArgs e)
        {

            string password = textBox3.Text;
            string plaintext = textBox1.Text;
            string encrypted = Cryp1.Encrypt(plaintext, password);
            textBox2.Text = encrypted;
        }

        private void button4_Click(object sender, EventArgs e)
        {
             string password = textBox3.Text;
            string plaintext = textBox1.Text;
            string decrypted = Cryp1.Decrypt(textBox2.Text, password);
            textBox1.ResetText();
            textBox1.Text = decrypted;
        }
    }
}
